package com.ityedao.IO字节流.案例文件复制;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyTest {
    public static void main(String[] args) {
        // 需求：复制照片
        FileInputStream is = null;
        FileOutputStream os = null;
        try {
            System.out.println(10 / 0);

            // 1、创建一个字节输入流管道与源文件接通
            is = new FileInputStream("src\\ityedao3.txt");
            // 2、创建一个字节输出流管道与源文件接通
            os = new FileOutputStream("src\\ityedao3-copy.txt"); // 一定要写文件名！！！！

            System.out.println(10 / 0);

            // 3、创建一个字节数组，负责转移字节数据
            byte[] buffer = new byte[1024]; // 1KB.
            // 4、从字节输入流中读取字节数据，写出去到字节输出流中。读多少写出去多少。
            int len; // 记住每次读取了多少个字符
            while ((len = is.read(buffer)) != -1){
                os.write(buffer, 0, len);
            }
            System.out.println("复制完成！！");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 释放资源的操作
            if(os != null) {
                try {
                    os.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(is != null) {
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
